perm filename GLOSSA.2[FTL,LSP] blob sn#827448 filedate 1986-10-29 generic text, type T, neo UTF8
\input macros
\def\bookline{\CLOS\  Specification}
\def\chapline{Glossary}

\beginChapter 4.{Common Lisp Object System Specification}%
{Glossary}{Glossary}
\endTitlePage

\beginSection{Introduction}

This section defines the terminology used in this document.

\endSection%{Introduction}

\beginSection{Glossary}

Accessor function
          A generic function that enables you to read the value of a slot.
          SETF may be used with an accessor function to write the value of
          the slot.   DEFCLASS has an option for automatically
          generating accessor functions for slots.

Built-in class
          A built-in class corresponds to one of the predefined Common Lisp
          type specifiers; for example array is a built-in class for
          objects of type array.  The metaclass of an array is
          built-in-class.  You cannot define new built-in classes, nor use
          them in the definition of a new class.

Class     An object that describes the structure and behavior of a set of
          objects.  All Lisp objects have a class, and can be queried for
          the class by using the CLASS-OF function.

Classical method
          Method selection is based on the class of the first argument to
          the generic function (that is, on the class of a single object).

Components
          The components of a class include:  the class itself, the
          super-classes of the class, the super-classes of the
          super-classes of the class, and so on.

Default method
          A default method does not specify any type for discrimination
          purposes, or specifies the type as t.  A default method is
          selected when no more specific method for the generic function is
          defined.

Dispatching 
	  The process of selecting one or more methods to run to perform 
	  a generic function, based on the class of its specialized arguments.

Generic Function
          A function that has methods defined for it.  Ordinary functions
          have a single definition; generic functions have a distributed
          definition.  The implementation of an ordinary function is the
          same whenever the function is called.  The implementation of a
          generic function varies from call to call, depending on the
          classes of its arguments.

Instance  Every object is an instance of some class.  The term instance is
          used to describe the instance/class relationship of an object to
          its class.

Metaclass Each object has a class.  A class itself is an object which has a
          class.  The metaclass of an object is the class of the class of
          the object.

          A metaclass itself is an object, which has a class.  The term
          metaclass is used to refer to a class that is suitable for being
          the class of a class.  An instance of a metaclass is a class.


Method    An object that describes how to perform a generic function for a
          given set of arguments.  One or more methods are chosen according
          to the classes of the arguments to the generic function; the
          choosing of the method or methods is called dispatching.

Multi-method
          The dispatching is based on two or more arguments to the generic
          function (that is, on the class of several objects).

Object    Any Lisp datum, such as a number, a character, or an instance. 

Reader function
          A generic function that enables you to read the value of a slot.
	  DEFCLASS has an option for automatically generating accessor
	  functions for slots. 

SETF generic function
	  A setf generic function is the function that is called when
	  you evaluate an expression such as:  (SETF (G ...) VALUE),
	  where G is any generic function.   One example of G is a slot
	  accessor. 

SETF method 
          A method for a SETF generic function.  

Slots     Slots define the structure of instances of the class, as do
          defstruct slots.  When defining a new class, you specify the
          slots of the class.  An :instance slot is a place where you can
          store data inside an instance.  This is the most commonly used
          kind of slot, where each instance has an individual slot of the
          same name.  A :class slot is a place where you can store data
          inside a class.  There is only one slot, whose value is shared by
          all instances of the class.

Super-class
          The super-classes of a class are those classes that are included
          explicitly in the super-class list in the DEFCLASS form.  Each
          super-class is an integral part of a class.  The class inherits
          characteristics (such as slots) and behavior (such as methods)
          from each of its super-classes.  This is the primary mechanism
          for program modularity.  A typical mode of use is to define
          several basic classes and combine them to achieve specialized
          behavior.


\endSection%{Glossary}


\endSection

\endChapter
\bye